package com.ylr.admin.framework.service;

import com.ylr.admin.framework.entity.RoleUserEntity;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Set;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wyw
 * date: 2023-04-21 11:44:48
 * className: RoleUserService
 * version: 1.0
 * description:
 */
public interface RoleUserService extends IService<RoleUserEntity> {

    /**
     * 保存角色关联用户操作
     * @param roleId     角色主键
     * @param userIdList 用户主键列表
     */
    void saveOrUpdateRoleUser(Long roleId, List<Long> userIdList);

    /**
     * 保存角色关联用户接口
     * @param roleIdList 角色主键列表
     * @param userId     用户主键
     */
    void addOrModifyRoleUser(List<Long> roleIdList, Long userId);

    /**
     * 获取用户关联角色主键列表
     * @param userId 用户主键
     * @return 角色主键列表
     */
    Set<Long> getRoleIdList(Long userId);

    /**
     * 获取角色关联的用户主键操作
     * @param roleKey 角色键
     * @return 用户主键列表
     */
    List<Long> getUserIdList(String roleKey);

    /**
     * 删除角色关联用户操作
     * @param roleIdList 角色主键列表
     * @param userIdList 用户主键列表
     */
    void deleteRoleUser(List<Long> roleIdList, List<Long> userIdList);

}

